﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SIM.Geo.BE;
using SIM.Geo.BL;

namespace SIM.Geo.SE
{
    public class SEZona: ISEZona
    {
        #region ISEZona Members
        /// <summary>
        /// Operacion que devuelve lista de zonas
        /// </summary>
        /// <returns></returns>
        public List<Zona> ListarZona()
        {
            try
            {
                return new BLZona().ListarZona();
            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// Operación que inserta una zona
        /// </summary>
        /// <param name="cuerpo"></param>
        /// <returns></returns>
        public int InsertarZona(Zona zona)
        {
            try
            {
                return new BLZona().InsertarZona(zona);
            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// Operación que modifica una Zona
        /// </summary>
        /// <param name="cuerpo"></param>
        public void ModificarZona(Zona zona)
        {
            try
            {
                new BLZona().ModificarZona(zona);
            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// Operación que eliminar una zona
        /// </summary>
        /// <param name="codigoCuerpo"></param>
        public void EliminarZona(int codigoZona)
        {
            try
            {
                new BLZona().EliminarZona(codigoZona);

            }
            catch (Exception)
            {

                throw;
            }
        }
        /// <summary>
        /// Operación que obtiene un cuerpo por zona
        /// </summary>
        /// <param name="codigoCuerpo"></param>
        /// <returns></returns>
        public Zona ObtenerZona(int codigoZona)
        {
            try
            {
                return new BLZona().ObtenerZona(codigoZona);

            }
            catch (Exception)
            {

                throw;
            }
        }

        #endregion

        #region ISEZona Members

        /// <summary>
        /// Operación que devuelve una lista para llenar el ComboBox, DropdownList
        /// </summary>
        /// <returns></returns>
        public List<ListItemInt> ObtenerListItem()
        {
            try
            {
                return new BLZona().ObtenerListItem();

            }
            catch (Exception)
            {

                throw;
            }
        }

        #endregion

        #region ISEZona Members

        /// <summary>
        /// Operación que devuelve lista por nombres
        /// </summary>
        /// <param name="nombreCuerpo"></param>
        /// <returns></returns>
        public List<Zona> ListarZonaPorNombre(string nombreZona)
        {
            try
            {
                return new BLZona().ListarZonaPorNombre(nombreZona);
            }
            catch (Exception)
            {

                throw;
            }
        }

        #endregion

        #region ISEZona Members
        public int GenerarCodigoZona()
        {
            try
            {
                return new BLZona().GenerarCodigoZona();
            }
            catch (Exception)
            {

                throw;
            }
        }

        #endregion
        #region ISEZona Members

        public List<ZonaResponse> ListarZona1()
        {
            return new BLZona().ListarZona1();
        }

        #endregion
    }
    
}